home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
tex
/
texsrc.arc
/
TEX9.C
< prev
next >
Wrap
C/C++ Source or Header
|
1988-09-14
|
46KB
|
1,820 lines
overlay "tex9"
#define EXTERN extern
#include "texd.h"
maincontrol () { /* 60 21 70 71 72 73 74 10 */ r_maincontrol
integer t ;
quarterword l ;
eightbits c ;
internalfont f ;
halfword r ;
halfword p ;
integer k ;
halfword q ;
fourquarters i ;
fourquarters j ;
integer s ;
boolean ligaturepres ;
if ( eqtb [ 4063 ] .hh .v.RH != 0 )
begintokenli ( eqtb [ 4063 ] .hh .v.RH , 12 ) ;
lab60: getxtoken () ;
lab21: if ( interrupt != 0 )
if ( OKtointerrup )
{
backinput () ;
{
if ( interrupt != 0 )
pauseforinst () ;
}
goto lab60 ;
}
#ifdef DEBUG
if ( panicking )
checkmem ( false ) ;
#endif /* DEBUG */
if ( eqtb [ 5303 ] .cint > 0 )
showcurcmdch () ;
switch ( abs ( curlist .modefield ) + curcmd )
{case 112 :
case 113 :
case 168 :
goto lab70 ;
break ;
case 117 :
{
scancharnum () ;
curchr = curval ;
goto lab70 ;
}
break ;
case 111 :
if ( curlist .auxfield == 1000 )
goto lab74 ;
else appspace () ;
break ;
case 165 :
case 265 :
goto lab74 ;
break ;
case 1 :
case 101 :
case 201 :
case 11 :
case 211 :
;
break ;
case 40 :
case 140 :
case 240 :
{
do { getxtoken () ;
} while ( ! ( curcmd != 10 ) ) ;
goto lab21 ;
}
break ;
case 15 :
if ( itsallover () )
return ;
break ;
case 23 :
case 122 :
case 222 :
case 70 :
case 170 :
case 270 :
case 39 :
case 45 :
case 49 :
case 149 :
case 7 :
case 107 :
case 207 :
reportillega () ;
break ;
case 8 :
case 108 :
case 9 :
case 109 :
case 18 :
case 118 :
case 69 :
case 169 :
case 51 :
case 151 :
case 16 :
case 116 :
case 50 :
case 150 :
case 53 :
case 153 :
case 66 :
case 166 :
case 54 :
case 154 :
case 55 :
case 155 :
case 57 :
case 157 :
case 56 :
case 156 :
case 31 :
case 131 :
case 52 :
case 152 :
case 29 :
case 129 :
case 47 :
case 147 :
case 210 :
case 214 :
case 215 :
case 228 :
case 225 :
case 234 :
case 237 :
insertdollar () ;
break ;
case 37 :
case 136 :
case 236 :
{
{
mem [(long) curlist .tailfield ] .hh .v.RH = scanrulespec () ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
if ( abs ( curlist .modefield ) == 1 )
curlist .auxfield = - 65536000 ;
else if ( abs ( curlist .modefield ) == 101 )
curlist .auxfield = 1000 ;
}
break ;
case 28 :
case 127 :
case 227 :
case 229 :
appendglue () ;
break ;
case 30 :
case 130 :
case 230 :
case 231 :
appendkern () ;
break ;
case 2 :
case 102 :
newsavelevel ( 1 ) ;
break ;
case 62 :
case 162 :
case 262 :
newsavelevel ( 14 ) ;
break ;
case 63 :
case 163 :
case 263 :
if ( curgroup == 14 )
unsave () ;
else offsave () ;
break ;
case 3 :
case 103 :
case 203 :
handlerightb () ;
break ;
case 22 :
case 123 :
case 223 :
{
t = curchr ;
scandimen ( false , false , false ) ;
if ( t == 0 )
savestack [ saveptr + 0 ] .cint = curval ;
else savestack [ saveptr + 0 ] .cint = - curval ;
scanbox () ;
}
break ;
case 32 :
case 132 :
case 232 :
{
savestack [ saveptr + 0 ] .cint = 1073742237 + curchr ;
scanbox () ;
}
break ;
case 21 :
case 121 :
case 221 :
{
savestack [ saveptr + 0 ] .cint = 0 ;
beginbox () ;
}
break ;
case 44 :
newgraf ( curchr > 0 ) ;
break ;
case 12 :
case 13 :
case 17 :
case 68 :
case 4 :
case 24 :
case 36 :
case 46 :
case 48 :
case 27 :
case 34 :
case 65 :
{
backinput () ;
newgraf ( true ) ;
}
break ;
case 144 :
case 244 :
indentinhmod () ;
break ;
case 14 :
{
normalparagr () ;
if ( curlist .modefield > 0 )
buildpage () ;
}
break ;
case 114 :
{
if ( alignstate < 0 )
offsave () ;
endgraf () ;
if ( curlist .modefield == 1 )
buildpage () ;
}
break ;
case 115 :
case 128 :
case 137 :
case 125 :
case 133 :
headforvmode () ;
break ;
case 38 :
case 138 :
case 238 :
case 139 :
case 239 :
begininserto () ;
break ;
case 19 :
case 119 :
case 219 :
makemark () ;
break ;
case 43 :
case 143 :
case 243 :
appendpenalt () ;
break ;
case 26 :
case 126 :
case 226 :
deletelast () ;
break ;
case 25 :
case 124 :
case 224 :
unpackage () ;
break ;
case 145 :
appenditalic () ;
break ;
case 245 :
{
mem [(long) curlist .tailfield ] .hh .v.RH = newkern ( 0 ) ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
break ;
case 148 :
case 248 :
appenddiscre () ;
break ;
case 146 :
makeaccent () ;
break ;
case 6 :
case 106 :
case 206 :
case 5 :
case 105 :
case 205 :
alignerror () ;
break ;
case 35 :
case 135 :
case 235 :
noalignerror () ;
break ;
case 64 :
case 164 :
case 264 :
omiterror () ;
break ;
case 33 :
case 134 :
initalign () ;
break ;
case 233 :
if ( privileged () )
initalign () ;
break ;
case 10 :
case 110 :
doendv () ;
break ;
case 67 :
case 167 :
case 267 :
cserror () ;
break ;
case 104 :
initmath () ;
break ;
case 249 :
if ( privileged () )
starteqno () ;
break ;
case 202 :
{
{
mem [(long) curlist .tailfield ] .hh .v.RH = newnoad () ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
backinput () ;
scanmath ( curlist .tailfield + 1 ) ;
}
break ;
case 212 :
case 213 :
case 268 :
if ( curchr < 128 )
setmathchar ( eqtb [ 5139 + curchr ] .hh .v.RH ) ;
else setmathchar ( curchr ) ;
break ;
case 217 :
{
scancharnum () ;
curchr = curval ;
if ( curchr < 128 )
setmathchar ( eqtb [ 5139 + curchr ] .hh .v.RH ) ;
else setmathchar ( curchr ) ;
}
break ;
case 218 :
{
scanfifteenb () ;
setmathchar ( curval ) ;
}
break ;
case 269 :
setmathchar ( curchr ) ;
break ;
case 216 :
{
scantwentyse () ;
setmathchar ( curval / 4096 ) ;
}
break ;
case 251 :
{
{
mem [(long) curlist .tailfield ] .hh .v.RH = newnoad () ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
mem [(long) curlist .tailfield ] .hh.b0 = curchr ;
scanmath ( curlist .tailfield + 1 ) ;
}
break ;
case 252 :
mathlimitswi () ;
break ;
case 266 :
mathradical () ;
break ;
case 246 :
case 247 :
mathac () ;
break ;
case 257 :
{
scanspec () ;
newsavelevel ( 12 ) ;
normalparagr () ;
pushnest () ;
curlist .modefield = - 1 ;
curlist .auxfield = - 65536000 ;
if ( eqtb [ 4062 ] .hh .v.RH != 0 )
begintokenli ( eqtb [ 4062 ] .hh .v.RH , 11 ) ;
}
break ;
case 254 :
{
mem [(long) curlist .tailfield ] .hh .v.RH = newstyle ( curchr ) ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
break ;
case 256 :
{
{
mem [(long) curlist .tailfield ] .